The present invention relates generally to data processing systems, and particularly to a method, and apparatus for implementing that method, of determining the network configuration of a processing system of the type comprising a number of processing elements communicatively interconnected by a network.
System elements, including one or more processor units, of processing systems often communicate to transfer data and other information by some form of shared medium (e.g., bus). Addresses, or some other means of identification (e.g., dedicated signal lines, etc.) that identify the source and destination of such transfers are provided by variety of techniques such as hard wiring, user manipulated switches, or identification words that are loaded at initialization time when the system is brought on line. Such shared medium topologies usually did not require any type of special configuration process.
Larger processing systems may communicatively interconnect system elements by a local area network (LAN), System Area Network (SAN), or even wide area networks (WANs). These types of communication mediums (hereinafter, generally "interconnective networks") often do need some form of configuration process in order to (1) ensure that information transfers are received by the appropriate destinations, and (2) that the transfer takes, if not the shortest route, then the most expeditious route possible. Such processing systems often employ some form of intermediate device to deliver information from one system element to another. For example, LANs and WANs use routers, bridges, hubs, and like devices to route information--usually in the form of multi-bit packets containing data identifying the destination and usually the source of the packet. Configuration in this context, then, refers to expeditious routing of a packet, based upon the destination identified in the packet, through the intermediate devices; it also refers to appropriate connections (cabling), assignment of identification or addresses to those system elements that send and/or receive information via the interconnecting network, and programming of the intermediate devices.
The topology of such interconnective networks, and its configuration, often is a manual function and, therefore, labor intensive. The topology is determined by the physical connections (cabling) of the individual pieces of the LAN or WAN during assembly. Configuring the LAN/WAN is usually done through network management techniques, utilizing a workstation that operates as a network manager to access certain of the network media devices (routers, bridges, switches, hubs, and the like) to program them to transfer received information onto a path that will reach the destination of that information.
Disclosed in U.S. Pat. No. 5,574,849, entitled "Synchronized Data Transmission Between Elements of a Processing System," is a multiple processing system in which the multiple processors communicate with one another and a variety of peripheral devices through a system area network (SAN) comprising a number of multi-ported router devices. The system, as disclosed, is designed to include a very large number of system elements with multiple levels of routing. The router devices are constructed to include programmable routing tables that contain routing information used to route information transfers (in the form of message packets containing the identifications of the source and destination of the information) between system elements (e.g., a processor and a peripheral device, or between two processors). In such a system, information sent by one system element for receipt by another can take a number of different routes to reach its destination, and the larger the system, the larger the number of routes. While smaller systems may take little effort to configure (e.g., assign addresses, establish routes by writing the appropriate information to the routing tables of the router devices), larger systems become much more difficult, and even larger systems may tend to pose a difficult task.
Accordingly, there is a need for a technique to configure a system area network of a processing system of this type.